Colin Walters [Mon, 5 Dec 2011 19:21:18 +0000 (14:21 -0500)]
core: Major cleanup to internal import API
Colin Walters [Mon, 5 Dec 2011 16:20:14 +0000 (11:20 -0500)]
core: Further unify code for importing from local FS and libarchive
Note this change makes it so we no longer call link() from an import
filesystem tree to the repository. This is a Good Thing really; it
makes local FS commits slower, but also less prone to corruption.
Colin Walters [Mon, 5 Dec 2011 16:15:12 +0000 (11:15 -0500)]
core: Ensure we initialize checksum in FIFO case too
Colin Walters [Mon, 5 Dec 2011 15:28:42 +0000 (10:28 -0500)]
core: Add _from_input variant of checksum API
Colin Walters [Sun, 4 Dec 2011 21:44:19 +0000 (16:44 -0500)]
ostbuild: ostbuild-user-chroot: New Linux-specific utility for safe chroots
Colin Walters [Sun, 4 Dec 2011 19:56:21 +0000 (14:56 -0500)]
gnomeos: Make run script transparently update existing FS image
This is noticeably faster.
Colin Walters [Sun, 4 Dec 2011 19:55:33 +0000 (14:55 -0500)]
gnomeos: commit-yocto-build.sh: Directly import tar files
Oh wow...this is fast.
Colin Walters [Sun, 4 Dec 2011 19:38:30 +0000 (14:38 -0500)]
core: Fix handling of hardlinks for tar commits
We were creating files with the wrong name. Add a test.
Colin Walters [Sun, 4 Dec 2011 17:14:08 +0000 (12:14 -0500)]
core: Support for committing from any libarchive-supported format
We really want the ability to take a .tar.gz and directly import
it into a repository, without creating a temporary filesystem tree.
First, doing it this way is significantly faster. Also, this allows
us to handle importing tar files with e.g. uid 0 files into packed
repositories as non-root, which is very useful for tests and builds.
Colin Walters [Sun, 4 Dec 2011 19:08:21 +0000 (14:08 -0500)]
core: Fix a memory leak in checkout
Colin Walters [Sun, 4 Dec 2011 18:11:21 +0000 (13:11 -0500)]
core: Handle NULL xattrs in packfile generation, throw error on invalid mode
Colin Walters [Sun, 4 Dec 2011 18:10:37 +0000 (13:10 -0500)]
core: Correctly map S_ISDIR to G_FILE_TYPE_DIRECTORY
Colin Walters [Sun, 4 Dec 2011 17:12:34 +0000 (12:12 -0500)]
core: Clean up filename utility API
Remove more unused functions, and change pathname splitting to handle
more cases like duplicate //, and to throw an error on .. as a filename.
Colin Walters [Sun, 4 Dec 2011 17:11:29 +0000 (12:11 -0500)]
core: Initialize checksums for non-regular files, handle NULL xattrs
Colin Walters [Sat, 3 Dec 2011 00:54:53 +0000 (19:54 -0500)]
core: Delete some dead utility code
Colin Walters [Fri, 2 Dec 2011 23:17:06 +0000 (18:17 -0500)]
core: New ot_transfer_out_value() macro
This makes out values considerably less typing.
Colin Walters [Fri, 2 Dec 2011 22:58:45 +0000 (17:58 -0500)]
core: Ensure we clean up leftover directories during merge
(Not sure why this regressed)
Colin Walters [Fri, 2 Dec 2011 22:49:57 +0000 (17:49 -0500)]
core: Fix packed file creation
We were calculating the wrong checksum, and also mistakenly
not using packed files in archive mode for non-regular files.
Colin Walters [Fri, 2 Dec 2011 19:32:25 +0000 (14:32 -0500)]
core: Don't use g_file_delete(), it calls into g_vfs_get_default()
For some (probably crazy) reason. Skipping this and calling
unlink() directly makes 'strace' MUCH smaller.
Colin Walters [Fri, 2 Dec 2011 19:23:01 +0000 (14:23 -0500)]
core: Avoid reading regular file data twice when archiving
Colin Walters [Fri, 2 Dec 2011 16:22:32 +0000 (11:22 -0500)]
core: Further unify API to create files
We now have just one place which writes to the filesystem. Wrap a
temporary file allocation API on top of that.
Colin Walters [Fri, 2 Dec 2011 16:39:21 +0000 (11:39 -0500)]
core: Use g_io_error_from_errno() to ensure we have more useful error codes
Colin Walters [Fri, 2 Dec 2011 15:11:09 +0000 (10:11 -0500)]
core: Move pack file parsing into core, add ostree_create_file_from_input() API
This moves us closer to consistently passing around a triple of:
(GFileInfo *info, GVariant *xattrs, GInputStream *content)
Which will help the libarchive work.
Colin Walters [Fri, 2 Dec 2011 00:37:47 +0000 (19:37 -0500)]
core: Tweak dir metadata importing code for libarchive work
This will allow us to share a bit more code.
Colin Walters [Fri, 2 Dec 2011 00:23:12 +0000 (19:23 -0500)]
core: Modify pack file importer to also optionally checksum
For future work on importing from an archive.
Colin Walters [Fri, 2 Dec 2011 00:20:54 +0000 (19:20 -0500)]
core: Add ot_gfile_create_tmp_symlink()
In some cases we'll need the ability to create a symbolic link, then
actually import it.
Colin Walters [Thu, 1 Dec 2011 03:20:25 +0000 (22:20 -0500)]
core: Propagate GCancellable a bit from the import APIs
Colin Walters [Thu, 1 Dec 2011 03:15:05 +0000 (22:15 -0500)]
core: Drop some dead code from packfile writing, expose GInputStream API too
We never actually dropped into the bits to write metadata as packfiles,
because such a thing doesn't exist.
Also add a GInputStream-based API for writing packfiles.
Colin Walters [Thu, 1 Dec 2011 02:15:46 +0000 (21:15 -0500)]
core: Extract stage_and_checksum() internal API
This will be used for staging both metadata and data consistently
before actually importing it.
Colin Walters [Thu, 1 Dec 2011 01:14:24 +0000 (20:14 -0500)]
core: Add ot_gfile_create_tmp() to utils, use it
Colin Walters [Thu, 1 Dec 2011 01:23:10 +0000 (20:23 -0500)]
repo: Don't call g_hash_table_destroy on a NULL hash
Colin Walters [Wed, 30 Nov 2011 14:21:14 +0000 (09:21 -0500)]
core: Split pull functionality into separate ostree-pull binary
This is to avoid everything depending on libsoup.
Colin Walters [Tue, 29 Nov 2011 23:25:07 +0000 (18:25 -0500)]
core: Make libostree.so an installed library
This will make it easier to have multiple binaries.
Colin Walters [Tue, 29 Nov 2011 21:15:04 +0000 (16:15 -0500)]
ostbuild: Relicense under LGPLv2+, tweak artifact generation
Colin Walters [Tue, 29 Nov 2011 19:06:54 +0000 (14:06 -0500)]
core: Use ot_clear_checksum()
Colin Walters [Tue, 29 Nov 2011 18:42:05 +0000 (13:42 -0500)]
otutil: New utility functions
Colin Walters [Tue, 29 Nov 2011 01:45:27 +0000 (20:45 -0500)]
core: Remove an unused variable
Colin Walters [Tue, 29 Nov 2011 00:34:54 +0000 (19:34 -0500)]
core: checksum builtin: Actually quit main loop on error too
Colin Walters [Sun, 27 Nov 2011 23:03:05 +0000 (18:03 -0500)]
core: Make commit always operate on directory contents, not file list
This simplifies things significantly, at some cost in flexibility.
We'll later add the ability to e.g. filter out files by regular
expression.
Colin Walters [Mon, 28 Nov 2011 15:17:49 +0000 (10:17 -0500)]
core: Some tweaks to ls output
Colin Walters [Mon, 28 Nov 2011 01:43:44 +0000 (20:43 -0500)]
gnomeos: Switch to using pseudo for commits
This is noticeably faster.
One side effect here is that xattrs are empty, which is actually
a good thing.
Colin Walters [Mon, 28 Nov 2011 01:34:30 +0000 (20:34 -0500)]
gnomeos: Pull in pseudo into -dev image
As a potential 'fakeroot' implementation.
Colin Walters [Mon, 28 Nov 2011 01:31:23 +0000 (20:31 -0500)]
ostbuild: Don't run fakeroot if we are root
For efficiency reasons, as well as a quick shortcut to avoid pulling
fakeroot into the gnomeos yocto layer.
Colin Walters [Mon, 28 Nov 2011 01:15:07 +0000 (20:15 -0500)]
core: Fix a compiler warning
Colin Walters [Mon, 28 Nov 2011 01:10:48 +0000 (20:10 -0500)]
core: Add ls builtin
Colin Walters [Sun, 27 Nov 2011 23:46:11 +0000 (18:46 -0500)]
core: Don't default to "master" for show, there is no default branch anymore
Colin Walters [Sun, 27 Nov 2011 23:08:18 +0000 (18:08 -0500)]
configure: Actually disable soup-gnome if not found
Colin Walters [Sun, 27 Nov 2011 23:03:22 +0000 (18:03 -0500)]
gnomeos: include -dev packages too in -dev image
Otherwise we don't get headers and stuff...
Colin Walters [Sun, 27 Nov 2011 22:21:04 +0000 (17:21 -0500)]
core: Add asynchronous checksum API, use it in checksum builtin
Colin Walters [Sun, 27 Nov 2011 18:12:22 +0000 (13:12 -0500)]
gnomeos: Add basic device files in /dev
So we're more usable in a chroot for compiling software.
Colin Walters [Sun, 27 Nov 2011 18:08:32 +0000 (13:08 -0500)]
gnomeos: Fetch ostree from file:/// URI
This means anyone not using /src/ostree for the checkout will have
to change it, but it's way less annoying for me not to have to push
changes to git.
Colin Walters [Sun, 27 Nov 2011 18:07:33 +0000 (13:07 -0500)]
ostbuild: Split nice/logger program out, merge make/makeinstall into one executable
Colin Walters [Sun, 27 Nov 2011 16:34:03 +0000 (11:34 -0500)]
daemon: Allow running as non-root in test mode
Colin Walters [Fri, 25 Nov 2011 17:02:03 +0000 (12:02 -0500)]
gnomeos: Prefix branch names with -yocto to clarify their origin
Also add git to the dev image.
Colin Walters [Fri, 25 Nov 2011 17:01:38 +0000 (12:01 -0500)]
gnomeos: Add ncurses to base
Colin Walters [Fri, 25 Nov 2011 17:01:05 +0000 (12:01 -0500)]
core: Minor code cleanup
Colin Walters [Fri, 25 Nov 2011 17:00:16 +0000 (12:00 -0500)]
ostbuild: Rename osbuild to ostbuild, clean up old C files
Colin Walters [Tue, 22 Nov 2011 15:20:10 +0000 (10:20 -0500)]
core: Ad ot_clear_gvariant(), use it
This saves us a conditional.
Colin Walters [Tue, 22 Nov 2011 15:03:12 +0000 (10:03 -0500)]
gnomeos: Make python actually work, install bash by default
Colin Walters [Tue, 22 Nov 2011 15:02:49 +0000 (10:02 -0500)]
core: A bit more daemon work
Colin Walters [Mon, 21 Nov 2011 20:03:09 +0000 (15:03 -0500)]
core: Move merge dirs code into gio utils
Colin Walters [Mon, 21 Nov 2011 01:55:24 +0000 (20:55 -0500)]
core: Stub out a system daemon
Colin Walters [Mon, 21 Nov 2011 01:50:14 +0000 (20:50 -0500)]
gnomeos: Check out both -base and -dev roots
This makes it easier to boot into either.
Colin Walters [Mon, 21 Nov 2011 01:49:45 +0000 (20:49 -0500)]
ostree-init: Also trim trailing newline from arguments
Otherwise the parsed argument is corrupted.
Colin Walters [Mon, 21 Nov 2011 01:49:15 +0000 (20:49 -0500)]
TODO: Update
Colin Walters [Sat, 19 Nov 2011 19:03:18 +0000 (14:03 -0500)]
gnomeos: Add -x86 tag to builds
Since later we'll want -x86_64 too.
Colin Walters [Sat, 19 Nov 2011 19:02:21 +0000 (14:02 -0500)]
core: Rework argument parsing
Default to /sysroot/ostree/repo when run as root. Also better
handle the requires-repo flag.
Colin Walters [Sat, 19 Nov 2011 15:52:17 +0000 (10:52 -0500)]
gnomeos: local-clone into built image
This way we have the whole history in the image, and we can start
to demo things like switching roots, pulling etc.
Colin Walters [Sat, 19 Nov 2011 15:45:53 +0000 (10:45 -0500)]
core: Ensure data is properly initialized
Avoids a crash if we bail early.
Colin Walters [Fri, 18 Nov 2011 23:50:53 +0000 (18:50 -0500)]
core: Add local-clone builtin
This is useful for converting between e.g. archive and non-archive
repositories.
Colin Walters [Fri, 18 Nov 2011 23:50:29 +0000 (18:50 -0500)]
core: Also chown() after unpacking objects
Colin Walters [Fri, 18 Nov 2011 21:14:01 +0000 (16:14 -0500)]
core: Switch to GFile* for unpacking and storing objects
Colin Walters [Fri, 18 Nov 2011 21:01:28 +0000 (16:01 -0500)]
core: Expose API to get repository tmpdir
Colin Walters [Fri, 18 Nov 2011 20:21:32 +0000 (15:21 -0500)]
core: Rework object iteration API to be GFile based and pass more data
It makes more sense to have e.g. the details of .packfile naming
inside the repo, and pass the expected checksum and type.
Colin Walters [Fri, 18 Nov 2011 14:41:36 +0000 (09:41 -0500)]
core: Skip an unnecessary unlink() call
Colin Walters [Fri, 18 Nov 2011 14:37:25 +0000 (09:37 -0500)]
core: Have single "overwrite" flag instead of ignore_exists+force pair
The default is always ignore_exists. Also port the internals here
to use more GIO code, and stop using *at syscall variants since they're
only useful if used 100%.
Colin Walters [Fri, 18 Nov 2011 14:04:25 +0000 (09:04 -0500)]
core: Convert public get_object_path() to GFile*
Colin Walters [Fri, 18 Nov 2011 13:42:18 +0000 (08:42 -0500)]
core: More cleanup of GIO utility API
Colin Walters [Fri, 18 Nov 2011 13:10:23 +0000 (08:10 -0500)]
core: Use ot_gfile_ prefix for new local GFile creation function
Colin Walters [Fri, 18 Nov 2011 13:02:19 +0000 (08:02 -0500)]
core: Remove last user of g_file_new()
Colin Walters [Fri, 18 Nov 2011 12:29:13 +0000 (07:29 -0500)]
core: Add checksum builtin
This necessitated reworking things so that builtins can specify no
--repo is required.
Colin Walters [Fri, 18 Nov 2011 11:34:54 +0000 (06:34 -0500)]
core: Make checksum API also operate on directories
Colin Walters [Fri, 18 Nov 2011 00:32:01 +0000 (19:32 -0500)]
core: CHANGE CHECKSUM ALGORITHM, port checksum API to GFile
This commit originally was to port ostree_stat_and_checksum_file() to
GFile*, but I noticed that the checksum code was reading data in host
endianness. Fix that while we're here.
This invalidates all existing repositories.
Colin Walters [Thu, 17 Nov 2011 23:36:57 +0000 (18:36 -0500)]
core: Convert metadata parsing API to GFile
Colin Walters [Thu, 17 Nov 2011 23:30:02 +0000 (18:30 -0500)]
core: Use GFile for xattr API
Colin Walters [Thu, 17 Nov 2011 23:29:32 +0000 (18:29 -0500)]
gnomeos: Have commit-yocto-build make more assumptions
This is so it's easier to use.
Colin Walters [Thu, 17 Nov 2011 23:23:36 +0000 (18:23 -0500)]
core: Use ot_gfile_get_path_cached() pervasively
This requires no free() calls and is just better.
Colin Walters [Thu, 17 Nov 2011 18:24:52 +0000 (13:24 -0500)]
gnomeos: Refactor build so we can have separate runtime/devel images
Colin Walters [Thu, 17 Nov 2011 15:40:55 +0000 (10:40 -0500)]
core: Fix pull to actually download files too
Colin Walters [Thu, 17 Nov 2011 15:40:01 +0000 (10:40 -0500)]
core: Should write remote refs in refs/<remote>/<branch>
Not just refs/<branch>, otherwise multiple remotes conflict.
Colin Walters [Thu, 17 Nov 2011 15:36:04 +0000 (10:36 -0500)]
core: Allow resolving e.g. "origin/master" as a rev
Also:
* Disallow .. in revs to avoid looking outside where we should be
* Allow resolving empty revs
Colin Walters [Thu, 17 Nov 2011 04:23:30 +0000 (23:23 -0500)]
core: Validate file names read from directory variants
In a future where we pull data from remote servers, we don't want
to allow path uplinks.
Colin Walters [Thu, 17 Nov 2011 04:09:32 +0000 (23:09 -0500)]
core: diff: Correctly handle files changing type
Colin Walters [Thu, 17 Nov 2011 03:51:56 +0000 (22:51 -0500)]
tests: Fix number of tests
Colin Walters [Thu, 17 Nov 2011 03:43:26 +0000 (22:43 -0500)]
core: Flesh out diff a bit more
Now correctly notices changes to directory metadata (not just
contents).
Colin Walters [Thu, 17 Nov 2011 03:50:14 +0000 (22:50 -0500)]
core: Fix a minor memory leak
Colin Walters [Thu, 17 Nov 2011 02:47:56 +0000 (21:47 -0500)]
gnomeos: Some tweaks to image content
Colin Walters [Wed, 16 Nov 2011 22:48:29 +0000 (17:48 -0500)]
core: Implement diff command
Colin Walters [Wed, 16 Nov 2011 17:51:24 +0000 (12:51 -0500)]
gnomeos: Mounts work, far fewer boot errors
Colin Walters [Tue, 15 Nov 2011 21:31:33 +0000 (16:31 -0500)]
gnomeos: Import copy of initscripts from Poky edison release